using System.Collections.Generic;

namespace LiJ.Pay.WeiXin.Pay.Mos
{
	public class WxPayRefundItemMo
	{
		/// <summary>   
		///    商户退款单号 必填 String(32) 商户退款单号
		/// </summary>  
		public string out_refund_no
		{
			get;
			set;
		}

		/// <summary>   
		///    微信退款单号 必填 String(28) 微信退款单号
		/// </summary>  
		public string refund_id
		{
			get;
			set;
		}

		/// <summary>   
		///    退款渠道 可空 String(16) ORIGINAL—原路退款BALANCE—退回到余额申请退款金额 refund_fee_$n 必填 Int 100 退款总金额,单位为分,可以做部分退款
		/// </summary>  
		public string refund_channel
		{
			get;
			set;
		}

		/// <summary>   
		///    退款金额 可空 Int 退款金额=申请退款金额-非充值代金券退款金额，退款金额《=申请退款金额
		/// </summary>  
		public int settlement_refund_fee
		{
			get;
			set;
		}

		/// <summary>   
		///    代金券类型 可空 CASH--充值代金券 ，NO_CASH---非充值代金券，订单使用代金券时有返回（取值：CASH、NO_CASH）。$n为下标,从0开始编号，举例：coupon_type_$0
		/// </summary>  
		public string coupon_type
		{
			get;
			set;
		}

		/// <summary>   
		///    总代金券退款金额 可空 Int 代金券退款金额小于等于退款金额，退款金额-代金券或立减优惠退款金额为现金，说明详见代金券或立减优惠
		/// </summary>  
		public int coupon_refund_fee
		{
			get;
			set;
		}

		/// <summary>   
		///    退款代金券使用数量 可空 Int 退款代金券使用数量 ,$n为下标,从0开始编号
		/// </summary>  
		public int coupon_refund_count
		{
			get;
			set;
		}

		/// <summary>   
		///    退款状态 必填 String(16) 退款状态：SUCCESS—退款成功，FAIL—退款失败，PROCESSING—退款处理中，CHANGE—转入代发，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，资金回流到商户的现金帐号，需要商户人工干预，通过线下或者财付通转账的方式进行退款。
		/// </summary>  
		public string refund_status
		{
			get;
			set;
		}

		/// <summary>   
		///    退款入账账户 必填 String(64) 取当前退款单的退款入账方1）退回银行卡：{银行名称}{卡类型}{卡尾号}2）退回支付用户零钱:支付用户零钱
		/// </summary>  
		public string refund_recv_accout
		{
			get;
			set;
		}

		/// <summary>
		///  退款记录对应的代金券信息
		/// </summary>
		public List<WxPayRefundCouponItemMo> coupons
		{
			get;
			set;
		}
	}
}
